licenses(["notice"])

package(default_visibility = ["//:__subpackages__"])

java_library(
    name = "aead_factory",
    srcs = ["AeadFactory.java"],
    deps = [
        "//src/main/java/com/google/crypto/tink:aead",
        "@maven//:com_google_errorprone_error_prone_annotations",
    ],
)

java_library(
    name = "aes_gcm_factory",
    srcs = ["AesGcmFactory.java"],
    deps = [
        ":aead_factory",
        "//src/main/java/com/google/crypto/tink:aead",
        "//src/main/java/com/google/crypto/tink/subtle:aes_gcm_jce",
        "@maven//:com_google_errorprone_error_prone_annotations",
    ],
)

java_library(
    name = "aes_gcm_siv",
    srcs = ["AesGcmSiv.java"],
    deps = [
        "//src/main/java/com/google/crypto/tink:accesses_partial_key",
        "//src/main/java/com/google/crypto/tink:aead",
        "//src/main/java/com/google/crypto/tink:insecure_secret_key_access",
        "//src/main/java/com/google/crypto/tink/aead:aes_gcm_siv_key",
        "//src/main/java/com/google/crypto/tink/annotations:alpha",
        "//src/main/java/com/google/crypto/tink/internal:util",
        "//src/main/java/com/google/crypto/tink/subtle:bytes",
        "//src/main/java/com/google/crypto/tink/subtle:hex",
        "//src/main/java/com/google/crypto/tink/subtle:random",
        "//src/main/java/com/google/crypto/tink/subtle:subtle_util_cluster",
        "//src/main/java/com/google/crypto/tink/subtle:validators",
    ],
)

android_library(
    name = "aead_factory-android",
    srcs = ["AeadFactory.java"],
    deps = [
        "//src/main/java/com/google/crypto/tink:aead-android",
        "@maven//:com_google_errorprone_error_prone_annotations",
    ],
)

android_library(
    name = "aes_gcm_factory-android",
    srcs = ["AesGcmFactory.java"],
    deps = [
        ":aead_factory-android",
        "//src/main/java/com/google/crypto/tink:aead-android",
        "//src/main/java/com/google/crypto/tink/subtle:aes_gcm_jce-android",
        "@maven//:com_google_errorprone_error_prone_annotations",
    ],
)

android_library(
    name = "aes_gcm_siv-android",
    srcs = ["AesGcmSiv.java"],
    deps = [
        "//src/main/java/com/google/crypto/tink:accesses_partial_key-android",
        "//src/main/java/com/google/crypto/tink:aead-android",
        "//src/main/java/com/google/crypto/tink:insecure_secret_key_access-android",
        "//src/main/java/com/google/crypto/tink/aead:aes_gcm_siv_key-android",
        "//src/main/java/com/google/crypto/tink/annotations:alpha-android",
        "//src/main/java/com/google/crypto/tink/internal:util-android",
        "//src/main/java/com/google/crypto/tink/subtle:bytes-android",
        "//src/main/java/com/google/crypto/tink/subtle:hex-android",
        "//src/main/java/com/google/crypto/tink/subtle:random-android",
        "//src/main/java/com/google/crypto/tink/subtle:subtle_util_cluster-android",
        "//src/main/java/com/google/crypto/tink/subtle:validators-android",
    ],
)
